Add unknonw alt support for Cetus. From Ron Parker.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 22 Oct 2002 17:21:12 +0000 (17:21 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 22 Oct 2002 17:21:12 +0000 (17:21 +0000)
gpsbabel/cetus.c
gpsbabel/reference/cetus.gpu [new file with mode: 0644]
gpsbabel/reference/cetus.pdb [new file with mode: 0644]
gpsbabel/testo

index eb3a834c2ecbe6ed437a6cf323545c9f0e117523..6034475e0694daab00e995801d19048009982223 100644 (file)
@@ -113,8 +113,13 @@ data_read(void)
                rec = (struct record *) pdb_rec->data;
                wpt_tmp->shortname = xstrdup(rec->ID);
                wpt_tmp->description = xstrdup(rec->name);
-               wpt_tmp->position.altitude.altitude_meters = be_read32(&rec->elevation) / 100.0;
-
+               if ( be_read32(&rec->elevation) == -100000000 ) {
+                       wpt_tmp->position.altitude.altitude_meters = unknown_alt;
+               }
+               else {
+                       wpt_tmp->position.altitude.altitude_meters = be_read32(&rec->elevation) / 100.0;
+               }
+                       
                wpt_tmp->position.longitude.degrees = be_read32(&rec->longitude) / 10000000.0; 
                wpt_tmp->position.latitude.degrees = be_read32(&rec->latitude) / 10000000.0; 
                if (rec->year != 0xff) {
@@ -173,7 +178,12 @@ cetus_writewpt(waypoint *wpt)
 
        be_write32(&rec->longitude, wpt->position.longitude.degrees * 10000000.0);
        be_write32(&rec->latitude, wpt->position.latitude.degrees * 10000000.0);
-       be_write32(&rec->elevation, wpt->position.altitude.altitude_meters * 100.0);
+       if ( wpt->position.altitude.altitude_meters == unknown_alt ) {
+               be_write32(&rec->elevation, -100000000);
+       }
+       else {
+               be_write32(&rec->elevation, wpt->position.altitude.altitude_meters * 100.0);
+       }
 
        opdb_rec = new_Record (0, 0, ct++, sizeof(*rec), (const ubyte *)rec);
 
diff --git a/gpsbabel/reference/cetus.gpu b/gpsbabel/reference/cetus.gpu
new file mode 100644 (file)
index 0000000..0a1905b
--- /dev/null
@@ -0,0 +1,9 @@
+GC1A37   3609.068N 08667.955W 0000000m The Troll by a182pilot & Famil a
+GC1C2B   3599.627N 08662.012W 0000000m Dive Bomber by JoGPS & family  a
+GC25A9   3603.848N 08664.862W 0000000m FOSTER by JoGPS & Family       a
+GC2723   3611.218N 08674.177W 0000000m Logan Lighthouse by JoGps & Fa a
+GC2B71   3606.408N 08679.052W 0000000m Ganier Cache by Susy1313       a
+GC309F   3608.777N 08680.973W 0000000m Shy's Hill by FireFighterEng33 a
+GC317A   3605.750N 08689.200W 0000000m GittyUp by JoGPS / Warner Park a
+GC317D   3608.280N 08686.728W 0000000m Inlighting by JoGPS / Warner P a
+GCEBB    3597.203N 08713.470W 0000000m Mountain Bike Heaven by susy13 a
diff --git a/gpsbabel/reference/cetus.pdb b/gpsbabel/reference/cetus.pdb
new file mode 100644 (file)
index 0000000..44018a4
Binary files /dev/null and b/gpsbabel/reference/cetus.pdb differ
index 552d36819ca584b9c07e5e6a5bef9a006610b3b5..6f5aacc329ae73f39969d08183da5db7342b7ea3 100755 (executable)
@@ -128,6 +128,7 @@ diff reference/paris.wpo ${TMPDIR}/paris.wpo
 # not verify that the appinfo block was written correctly.  However, it does
 # successfully test for some endianness errors that might otherwise go 
 # unnoticed.
+rm -f ${TMPDIR}/magnav.pdb ${TMPDIR}/magnav.gpu ${TMPDIR}/magnavt.gpu
 ${PNAME} -i geo -f geocaching.loc -o magnav -F ${TMPDIR}/magnav.pdb
 ${PNAME} -i magnav -f ${TMPDIR}/magnav.pdb -o gpsutil -F ${TMPDIR}/magnav.gpu
 ${PNAME} -i magnav -f reference/magnav.pdb -o gpsutil -F ${TMPDIR}/magnavt.gpu
@@ -137,9 +138,18 @@ diff reference/magnavr.gpu ${TMPDIR}/magnav.gpu
 # GPSPilot Tracker for PalmOS
 # This test is eerily similar to the NAV Companion test.  In fact, the 
 # converted reference file (magnavr.gpu) is identical.
+rm -f ${TMPDIR}/gpspilot.pdb ${TMPDIR}/gpspilot.gpu ${TMPDIR}/gpspil_t.gpu
 ${PNAME} -i geo -f geocaching.loc -o gpspilot -F ${TMPDIR}/gpspilot.pdb
 ${PNAME} -i gpspilot -f ${TMPDIR}/gpspilot.pdb -o gpsutil -F ${TMPDIR}/gpspilot.gpu
 ${PNAME} -i gpspilot -f reference/gpspilot.pdb -o gpsutil -F ${TMPDIR}/gpspil_t.gpu
 diff ${TMPDIR}/gpspil_t.gpu ${TMPDIR}/gpspilot.gpu
 diff reference/magnavr.gpu ${TMPDIR}/gpspilot.gpu
 
+# Cetus GPS for PalmOS
+# This test is also similar to the NAV Companion test.
+rm -f ${TMPDIR}/cetus.pdb ${TMPDIR}/cetus.gpu ${TMPDIR}/cetust.gpu
+${PNAME} -i geo -f geocaching.loc -o cetus -F ${TMPDIR}/cetus.pdb
+${PNAME} -i cetus -f ${TMPDIR}/cetus.pdb -o gpsutil -F ${TMPDIR}/cetus.gpu
+${PNAME} -i cetus -f reference/cetus.pdb -o gpsutil -F ${TMPDIR}/cetust.gpu
+diff ${TMPDIR}/cetust.gpu ${TMPDIR}/cetus.gpu
+diff reference/cetus.gpu ${TMPDIR}/cetus.gpu